package router

import (
	"admin_template/bff/admin/internal/service"

	serviceSystem "admin_template/bff/admin/internal/service/system"
)

type Router struct {
	*service.Service
	*serviceSystem.ApiService
	*serviceSystem.CompanyService
	*serviceSystem.RuleService
	*serviceSystem.RoleService
	*serviceSystem.UserService
	*serviceSystem.SSOService
	*serviceSystem.CaptchaService
	SystemService *serviceSystem.Service
}

func NewRouter(
	service *service.Service,
	apiService *serviceSystem.ApiService,
	companyService *serviceSystem.CompanyService,
	ruleService *serviceSystem.RuleService,
	roleService *serviceSystem.RoleService,
	userService *serviceSystem.UserService,
	ssoService *serviceSystem.SSOService,
	captchaService *serviceSystem.CaptchaService,
	systemService *serviceSystem.Service,
) *Router {
	return &Router{
		service,
		apiService,
		companyService,
		ruleService,
		roleService,
		userService,
		ssoService,
		captchaService,
		systemService,
	}
}
